package ltd.sumfsy.grain.decorate;

import lombok.Data;
import lombok.experimental.Accessors;

import java.util.HashMap;
import java.util.Map;

/**
 * 后端封装 JSON 数据对象
 *
 * @author 范颂扬
 * @create 2021-05-12 20:09
 */
@Data
@Accessors(chain = true)
public class ResultData {

    private Integer code;

    private String message;

    private Map<String, Object> extend = new HashMap<String, Object>();

    /**
     * 添加返回前端的数据
     *
     * @param key   键
     * @param value 值
     * @return ltd.sumfsy.grain.decorate.ResultData 返回封装结果
     * @author 范颂扬
     * @date 2021-05-12 20:19
     */
    public ResultData addExtend(String key, Object value) {
        extend.put(key, value);
        return this;
    }

    /**
     * 创建一个请求成功的数据对象
     *
     * @return ltd.sumfsy.grain.decorate.ResultData 返回封装结果
     * @author 范颂扬
     * @description
     * @date 2021-05-12 20:19
     */
    public static ResultData success() {
        return new ResultData().setCode(200).setMessage("OK");
    }

    /**
     * 创建一个请求失败的数据对象
     *
     * @return ltd.sumfsy.grain.decorate.ResultData 返回封装结果
     * @author 范颂扬
     * @description
     * @date 2021-05-12 20:20
     */
    public static ResultData fail() {
        return new ResultData().setCode(400).setMessage("Fail");
    }
}
